# 导入必要的LangChain模块
from langchain_community.llms import Ollama  # 用于连接本地运行的Ollama模型
from langchain.prompts import PromptTemplate  # 用于创建提示模板
from langchain.chains import LLMChain  # 用于创建LLM调用链

# 初始化 Ollama 客户端，连接到本地 DeepSeek 模型
llm = Ollama(
    base_url="http://127.0.0.1:11434",  # Ollama服务的本地地址
    model="deepseek-r1:14b"  # 指定使用的模型名称
)

# 创建一个简单的提示模板
template = """你是一个有帮助的AI助手。请回答以下问题：
问题: {question}
回答:"""  # 定义模板内容，{question}是占位符

# 创建PromptTemplate实例，定义输入变量和模板
prompt = PromptTemplate(
    input_variables=["question"],  # 指定模板中的变量
    template=template  # 使用上面定义的模板
)

# 创建 LLM 链，将模型和提示模板组合起来
chain = LLMChain(llm=llm, prompt=prompt)

# 测试问题
question = "请介绍一下你自己"  # 定义测试问题
response = chain.invoke({"question": question})  # 调用LLM链获取回答

print("问题:", question)  # 输出问题
print("回答:", response['text'])  # 输出模型生成的回答